home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / GL / glxint.h < prev    next >
C/C++ Source or Header  |  2006-04-12  |  4KB  |  130 lines

  1. #ifndef __GLX_glxint_h__
  2. #define __GLX_glxint_h__
  3.  
  4. /* $XFree86: xc/include/GL/glxint.h,v 1.3 2000/11/18 19:37:04 tsi Exp $ */
  5. /*
  6. ** The contents of this file are subject to the GLX Public License Version 1.0
  7. ** (the "License"). You may not use this file except in compliance with the
  8. ** License. You may obtain a copy of the License at Silicon Graphics, Inc.,
  9. ** attn: Legal Services, 2011 N. Shoreline Blvd., Mountain View, CA 94043
  10. ** or at http://www.sgi.com/software/opensource/glx/license.html.
  11. **
  12. ** Software distributed under the License is distributed on an "AS IS"
  13. ** basis. ALL WARRANTIES ARE DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY
  14. ** IMPLIED WARRANTIES OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR
  15. ** PURPOSE OR OF NON- INFRINGEMENT. See the License for the specific
  16. ** language governing rights and limitations under the License.
  17. **
  18. ** The Original Software is GLX version 1.2 source code, released February,
  19. ** 1999. The developer of the Original Software is Silicon Graphics, Inc.
  20. ** Those portions of the Subject Software created by Silicon Graphics, Inc.
  21. ** are Copyright (c) 1991-9 Silicon Graphics, Inc. All Rights Reserved.
  22. **
  23. ** $SGI$
  24. */
  25.  
  26. #include <X11/X.h>
  27. #include <X11/Xdefs.h>
  28. #include "GL/gl.h"
  29.  
  30. typedef struct __GLXvisualConfigRec __GLXvisualConfig;
  31. typedef struct __GLXFBConfigRec __GLXFBConfig;
  32.  
  33. struct __GLXvisualConfigRec {
  34.     VisualID vid;
  35.     int class;
  36.     Bool rgba;
  37.     int redSize, greenSize, blueSize, alphaSize;
  38.     unsigned long redMask, greenMask, blueMask, alphaMask;
  39.     int accumRedSize, accumGreenSize, accumBlueSize, accumAlphaSize;
  40.     Bool doubleBuffer;
  41.     Bool stereo;
  42.     int bufferSize;
  43.     int depthSize;
  44.     int stencilSize;
  45.     int auxBuffers;
  46.     int level;
  47.     /* Start of Extended Visual Properties */
  48.     int visualRating;        /* visual_rating extension */
  49.     int transparentPixel;    /* visual_info extension */
  50.                 /*    colors are floats scaled to ints */
  51.     int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
  52.     int transparentIndex;
  53.     int multiSampleSize;
  54.     int nMultiSampleBuffers;
  55.     int visualSelectGroup;
  56. };
  57.  
  58. #define __GLX_MIN_CONFIG_PROPS    18
  59. #define __GLX_MAX_CONFIG_PROPS    500
  60.  
  61. #define __GLX_EXT_CONFIG_PROPS     10
  62.  
  63. /*
  64. ** Since we send all non-core visual properties as token, value pairs,
  65. ** we require 2 words across the wire. In order to maintain backwards
  66. ** compatibility, we need to send the total number of words that the
  67. ** VisualConfigs are sent back in so old libraries can simply "ignore"
  68. ** the new properties. 
  69. */
  70. #define __GLX_TOTAL_CONFIG       (__GLX_MIN_CONFIG_PROPS +      \
  71.                                     2 * __GLX_EXT_CONFIG_PROPS)
  72.  
  73. struct __GLXFBConfigRec {
  74.     int visualType;
  75.     int transparentType;
  76.                                 /*    colors are floats scaled to ints */
  77.     int transparentRed, transparentGreen, transparentBlue, transparentAlpha;
  78.     int transparentIndex;
  79.  
  80.     int visualCaveat;
  81.  
  82.     int associatedVisualId;
  83.     int screen;
  84.  
  85.     int drawableType;
  86.     int renderType;
  87.  
  88.     int maxPbufferWidth, maxPbufferHeight, maxPbufferPixels;
  89.     int optimalPbufferWidth, optimalPbufferHeight;  /* for SGIX_pbuffer */
  90.  
  91.     int visualSelectGroup;    /* visuals grouped by select priority */
  92.  
  93.     unsigned int id;          
  94.  
  95.     GLboolean rgbMode;
  96.     GLboolean colorIndexMode;
  97.     GLboolean doubleBufferMode;
  98.     GLboolean stereoMode;
  99.     GLboolean haveAccumBuffer;
  100.     GLboolean haveDepthBuffer;
  101.     GLboolean haveStencilBuffer;
  102.  
  103.     /* The number of bits present in various buffers */
  104.     GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
  105.     GLint depthBits;
  106.     GLint stencilBits;
  107.     GLint indexBits;
  108.     GLint redBits, greenBits, blueBits, alphaBits;
  109.     GLuint redMask, greenMask, blueMask, alphaMask;
  110.  
  111.     GLuint multiSampleSize;     /* Number of samples per pixel (0 if no ms) */
  112.  
  113.     GLuint nMultiSampleBuffers; /* Number of availble ms buffers */
  114.     GLint maxAuxBuffers;
  115.  
  116.     /* frame buffer level */
  117.     GLint level;
  118.  
  119.     /* color ranges (for SGI_color_range) */
  120.     GLboolean extendedRange;
  121.     GLdouble minRed, maxRed;
  122.     GLdouble minGreen, maxGreen;
  123.     GLdouble minBlue, maxBlue;
  124.     GLdouble minAlpha, maxAlpha;
  125. };
  126.  
  127. #define __GLX_TOTAL_FBCONFIG_PROPS     35
  128.  
  129. #endif /* !__GLX_glxint_h__ */
  130.